Шаблон:Список версий/Alpha 0.2.2
Decreased forward interaction distance from 5 units to 3 units * Rewrote the visibility system. * There is a LookObjectController that handles all LookObject MonoBehaviour components. These components add / remove themselves from the controller OnEnable and OnDisable. The controller asks the camera each frame if they are visible or not, and sets a flag on the components. This makes the system MVC and removes that functionality from the AI and camera, keeping it inside the look object system. This will also enable multiple objects to be queried for visibility at the same time. In addition, this allows the look objects to have multiple colliders of different sizes. All memory for the system is allocated on the LookObject scripts at Awake(), so there will not be any extra GC being generated by this system. * Resized 173's controllers to fit the new system. * Rewrote the GetColliderBoundsNoAlloc function to take colliders of various sizes and subdivisions * Added a delay when the camera responds to blinking in order to allow 173 to finish its move before the player can see it * Fixed 173 pathing through the walls around doors. Started by shrinking down portals. This broke 173 in doorways sometimes, as it was not on any grid. I then implemented Apex Path's CallbackPathRequest! This now handles all path requests. If 173 starts off-grid, it finds the nearest cell and moves there, then re-generates the path. This fixes that problem. I can also use this to move 173 back to the grid if it falls of the map. * Vent into all rooms and resized grids. They will now fit standard humanoid NPCs like 173 better. * Lowered chance of t-shaped lockroom spawning from 15% to 10% * Reworked small_testing_room so that objects were separated, added missing colliders. Continued the vent and capped it so that the player can no longer see the skybox * Fixed door in 1123 room going through wall * Fixed missing collider for computer in scp012_room, added portal for stairs * Disable recursive hallway from spawning, as it is breaking maps and isn't done yet * Added vent blocker to lockroom to block skybox until I can model another vent * Fixed elevator room's wall not extended far enough in one area and thus allowing the player to see through the wall. Redid room in blender, separated upstairs mesh from downstairs (downstairs incomplete as there are no elevators yet) * Fixed bug where mustSpawn rooms were not being copied from their prefabs, so room grids were not working correctly * Changed arrival distance for 173 to 0.46 to avoid it overshooting as per Apex Path support's instructions * Rebuilt the RoomCache to be a lot smarter ** Utilizes classes for each type of room ** String lists for per-zone random and mustSpawn instead of instantiate a lot of copies ** Cleaner and easier to read and use * Noticed that 173's attack raycast was starting from the ground. Added an AttackPoint field for an empty transform, so that it can be started from its hands instead. This avoids it being blocked from raycasting the player with its own collider, which broke attack in many cases. * Added a new button type, AirlockButton, for the t-shaped lockroom that should ensure that the doors always end with one open and one closed regardless of starting state. * LookObject system now correctly hits the corners of the colliders when raycasting. Added two more points to check, front and back center. * Increased room grid spacing from 20.2 to 20.5. This fixes some rooms extending into others * Reworked grids in several rooms to ensure that they didn't allow 173 to enter walls near doors * Reworked Doors. Door abstract class now defines only information needed to set up type of door. StandardDoor extends this, and provides all functionality for most Facility doors. Added a new bool, gridConnector, which lets the door know whether it needs to generate portals or not. * Went through all rooms, upgraded their doors to the latest version * Added a new function to Tools/Containment Breach to auto create an empty room * Fixed bug where sometimes grids would not all initialize. This is because the number of grids to initialize is compared to the number of already initialized grids; if all grids are initialized, the loader moves on to the next sequence. Sometimes the current grids would finish initializing before the rooms were all placed and initialized, which meant that there were grids that were not correctly initializing. * Added RaycastBlockBetween function to Utilities * Interaction handler now checks if there is a wall / obstacle between the player and objects behind him. * Fixed bug where dragging an item out of an equipment slot would make the item image black (image darkened incorrectly) * Increased inventory slots to 12 to fill the grid better * Did work with the PDA UI for items and equipment so that it looks better on 5:4 resolutions * Fixed bug where resizing resolutions ingame would break InventorySlots